/**
 * 通过关键字搜索图书
 * @param  {object} book 原始ajax响应
 * @return {object}      action
 */
export function getBookByKeyword( book ){
    return {
        type: 'BY_KEYWORD',
        searchResult: book
    }
}

/**
 * 通过分页器搜索图书
 * @param  {object} book 原始ajax响应
 * @return {object}      action
 */
export function getBookByNextPage( book ){
    return {
        type: 'BY_NEXT_PAGE',
        searchResult: book
    }
}

/**
 * 在搜索框删除所有字符时发生，清除已搜索的图书数据
 * @return {object}      action
 */
export function clearAllBook(){
    return {
        type: 'CLEAR_ALL_BOOK'
    }
}

/**
 * 取消图书滚入view
 * @return {object}      action
 */
export function removeOffset(){
    return {
        type: 'REMOVE_OFFSET'
    }
}

/**
 * 用户登录
 * @param  {object} user 原始ajax响应
 * @return {object}      action
 */
export function userLogin( user ){
    return {
        type: 'LOGIN',
        loginResult: user
    }
}

/**
 * 续借图书后更新状态
 * @param  {string}  bookid 要更新状态的图书id
 * @param  {string}  time   新的到期时间，格式与登录时返回的相同 2012/12/12
 * @param  {boolean} renew  新的可续借状态，固定为false
 * @return {object}      action
 */
export function renewBook( bookid, time, renew ){
    return {
        type: 'RENEW_BOOK',
        bookid: bookid,
        time: time,
        renew: renew
    }
}

/**
 * 用户退出
 * @return {object} action
 */
export function userLogout(){
    return {
        type: 'LOGOUT'
    }
}

/**
 * 向user里添加订阅书籍
 * @param {object} book 书的详细信息
 * @return {object} action
 */
export function addFeedBook( book ){
    return {
        type: 'ADD_FEED_BOOK',
        book: book
    }
}

/**
 * 从user中移除订阅书籍
 * @param  {string} ctrlid  图书id
 * @return {object} action
 */
export function removeFeedBook( ctrlid ){
    return {
        type: 'REMOVE_FEED_BOOK',
        ctrlid: ctrlid
    }
}

/**
 * 显示图书详情，展开侧栏
 * @param  {object} book 由之前的搜索返回的具体某一本书的信息提供
 * @return {object}      action
 */
export function showAside( book ){
    return {
        type: 'SHOW_ASIDE',
        book: book
    }
}

/**
 * 隐藏图书详情
 * @return {object} action
 */
export function hideAside(){
    return {
        type: 'HIDE_ASIDE'
    }
}

export function cancelLikeBtn(){
    return {
        type: 'CANCEL_LIKE_BTN'
    }
}

/**
 * 从豆瓣API获取书的简介，豆瓣链接
 * @param  {string} summary 图书简介
 * @param  {string} link    图书所在的豆瓣链接
 * @param  {string} isbn    ISBN
 * @return {object}         action
 */
export function parseDouban( summary, link, isbn ){
    return {
        type: 'GET_DOUBAN',
        summary: summary,
        isbn: isbn,
        link: link
    }
}

/**
 * 展开／收缩用户组件，图书组件随之移动
 * @return {object} action
 */
export function spreadUserPanel(){
    return {
        type: 'SPREAD_USER_PANEL'
    }
}

/**
 * 显示用户消息
 * @param  {string} text 要显示的消息
 * @return {object} action
 */
export function sendMessage( text ){
    return {
        type: 'SHOW_MESSAGE',
        text: text
    }
}

/**
 * 隐藏消息框
 * @return {object} action
 */
export function hideBox(){
    return {
        type: 'HIDE_BOX'
    }
}
